// 中间件，作用是验证管理员的身份，每次操作都需要携带 token 才能继续下一步

module.exports = () => {

  // 具体关于 token 的使用方法还是以查文档为主，记不太住。

  return async function (ctx,next) {
    
    try{
      if(ctx.request.header.token) {
        let token = ctx.request.header.token
        ctx.app.jwt.verify(token,ctx.app.config.jwt.serect)
        ctx.cookies.set('token', token, {
          maxAge: 10 * 1000,
          httpOnly: false,
          overwrite: true,
          signed: false
        })
        await next()
      }else{
        ctx.body = {
          code:50000,
          data:'没有权限'
        }
      }
    }
    catch(err){
      ctx.body = {
        code:40000,
        data:'没有权限'
      }
    }
   
  }

}